The Ònka Yorùbá Scroll Books — A Living Number Generator
The Ònka Yorùbá Scroll Books are 10 self-contained digital scrolls that generate, display, and colour-code every Yorùbá number name from 1 to 10,000,000 (ten million) — entirely offline, with zero external dependencies.
Each Scroll Book covers one million numbers and is divided into 20 volumes of 50,000 numbers each, presented as a clickable card grid. When a volume is selected, the generator algorithmically computes every Yorùbá number name within that range in real-time, rendering them in a colour-coded table that maps each word-component to its mathematical magnitude.
This is not a static database. It is a recursive generation engine — a living proof that the modern Ònka Yorùbá base-10 system can algorithmically produce any number name on demand, from Ení (1) to Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléwǎ (10,000,000), using nothing more than 9 base words and the legendary "l" multiplier.
📸 Ònka Yorùbá Scroll Book Number Generator — Live App Preview
Scroll Book 9 (8–9 Million) — Volume 3 generating 50,000 Yorùbá number names in real-time with colour-coded components and progress indicator.
📜 The 10 Scroll Books — Coverage Map
Àwọn Ìwé Kíká Mẹ́wàá — Àwòrán Ìbòdè
Each Scroll Book handles exactly 1,000,000 numbers. Together, the 10 scrolls cover the complete range from 1 to 10,000,000 — a total of ten million unique Yorùbá number names, each generated algorithmically and colour-coded by magnitude.
| Scroll Book | Number Range | Volumes | Yorùbá Range Start | Yorùbá Range End |
|---|---|---|---|---|
| 📖 Scroll Book 1 | 1 — 1,000,000 | Vol 1–20 | Ení | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔn |
| 📖 Scroll Book 2 | 1,000,001 — 2,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléjì |
| 📖 Scroll Book 3 | 2,000,001 — 3,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléjìléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́ta |
| 📖 Scroll Book 4 | 3,000,001 — 4,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́taléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́rin |
| 📖 Scroll Book 5 | 4,000,001 — 5,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́rinléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlárǔn |
| 📖 Scroll Book 6 | 5,000,001 — 6,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlárǔnléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́fà |
| 📖 Scroll Book 7 | 6,000,001 — 7,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́fàléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléje |
| 📖 Scroll Book 8 | 7,000,001 — 8,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléjeléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́jọ |
| 📖 Scroll Book 9 | 8,000,001 — 9,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́jọléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́sǎn |
| 📖 Scroll Book 10 | 9,000,001 — 10,000,000 | Vol 1–20 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnlẹ́sǎnléní | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléwǎ |
⚙️ The Recursive Generation Algorithm — genYoruba(n)
At the heart of every Scroll Book lies a single recursive JavaScript function: genYoruba(n). This function decomposes any integer into its Yorùbá name by breaking it down into base words, tens, hundreds, thousands, and millions — each connected by the "l" multiplier where required. The algorithm mirrors the organic structure of the Yorùbá numeric system itself.
🔢 Step 1 — Base Words (Àwọn Ọ̀rọ̀ Ìpìlẹ̀)
The foundation: 10 irreducible number names from which all others are built.
🔟 Step 2 — Tens Composition (11–99)
Numbers 11–19 combine Ẹ́wǎ (10) with a unit. From 20 onward, distinct decade words are used:
Example: 37 = Ọgbọ̀nléje (30 + 7)
💯 Step 3 — Hundreds (100–999)
Hundreds are formed using Ọgọ́rǔn (100) as the base, connected by the "l" multiplier for multiples:
The remainder is appended recursively. Example: 542 = Ọgọ́rǔnlárǔn + Ogójìléjì
🔴 Step 4 — Thousands (1,000–999,999)
Ẹgbẹ̀rǔn (1,000) is the anchor. Multiples use the "l" multiplier with unit, tens, or hundreds connectors:
Example: 45,000 = Ẹgbẹ̀rǔnlógójìárǔn
🟤 Step 5 — Millions (1,000,000+)
One million is expressed as "a thousand of thousands" — Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔn. Multi-million numbers append a unit multiplier:
The remainder (the sub-million part) is generated by a recursive call to genYoruba(remainder) and appended to the millions prefix.
🎨 The 47-Colour Visual Protocol — Scroll Book Magnitudes
Ètò Àwọ̀ OgójìÉje — Ìwọ̀n Iye
Every generated Yorùbá number name is passed through a colourisation engine (colorizeYoruba()) that splits the compound word at uppercase boundaries and wraps each component in a colour <span> matching its mathematical magnitude. This transforms a wall of text into an instant visual map of the number's structure. The colours below are drawn from the platform's 47-Colour Visual Protocol.
| Colour | Swatch | Magnitude | Hex Code | Example Word | Meaning |
|---|---|---|---|---|---|
| Cerulean | Zero | #0891B2 | Ódo | 0 | |
| Vibrant Green | Units (1–9) | #16A34A | Ẹ́rin | 4 | |
| Royal Blue | Tens (10–90) | #2563EB | Ogójì | 40 | |
| Purple | Hundreds (100–900) | #9333EA | Ọgọ́rǔn | 100 | |
| Red | Thousands (1K–9K) | #DC2626 | Ẹgbẹ̀rǔn | 1,000 | |
| Dark Goldenrod | Tens of Thousands (10K–90K) | #B59410 | Ẹgbẹ̀rǔnlẹ́wǎ | 10,000 | |
| Sky Blue | Hundreds of Thousands (100K–900K) | #4EAAE4 | Ẹgbẹ̀rǔnlọ́gọ́rǔn | 100,000 | |
| Saddle Brown | Millions (1M+) | #8B4513 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔn | 1,000,000 | |
| Neon Pink | "l" Multiplier | #FF13F0 | l | Multiplier Bond |
🏗️ Architecture & Design
Each Scroll Book is a single self-contained HTML file — no build tools, no frameworks, no server required.
File Structure
| Component | Purpose |
|---|---|
| Embedded CSS | ~200 lines: 47-colour classes, volume card grid, responsive table layout |
| Volume Card Grid | 20 clickable cards with gradient backgrounds matching number magnitude |
| genYoruba(n) | Recursive number-to-Yorùbá conversion engine |
| colorizeYoruba() | Word-component splitter and colour-mapper |
| generateNumbers() | Async batch renderer with progress indicator and performance timer |
Key Design Decisions
- Zero Dependencies: Every Scroll Book runs entirely offline — no CDN, no npm, no API calls. Open the HTML file in any browser and it works.
- Recursive Decomposition: The algorithm mirrors the natural structure of Yorùbá number-naming — breaking compounds into base + multiplier + remainder, exactly as a native speaker would.
- Async Batch Rendering: Each volume generates 50,000 table rows asynchronously, with a visible progress bar, preventing UI freeze on slower devices.
- Performance Timing: Uses
performance.now()to report generation speed — proving that algorithmic Yorùbá number generation is computationally efficient. - Volume Segmentation: The 20-volume grid pattern was chosen to balance load time (~50K rows per batch) with navigational convenience (each card clearly labels its range).
💎 The "l" Multiplier in Action
Ìlọ́nà "l" — Ẹ̀rọ Ìsọdipúpọ̀
The "l" multiplier (from lọ́nà — "multiplied by") is the connective tissue of every compound number. It bonds a Parent (the base power) to a Child (the scaling factor), enabling infinite growth from finite vocabulary.
| Number | Yorùbá Name | Decomposition | The "l" Bond |
|---|---|---|---|
| 200 | Ọgọ́rǔnléjì | 100 × 2 | Ọgọ́rǔn l éjì |
| 3,000 | Ẹgbẹ̀rǔnlẹ́ta | 1,000 × 3 | Ẹgbẹ̀rǔn l ẹ́ta |
| 50,000 | Ẹgbẹ̀rǔnlàádọ́ta | 1,000 × 50 | Ẹgbẹ̀rǔn l àádọ́ta |
| 400,000 | Ẹgbẹ̀rǔnlọ́gọ́rǔnlẹ́rin | 1,000 × 100 × 4 | Ẹgbẹ̀rǔn l ọ́gọ́rǔn l ẹ́rin |
| 1,000,000 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔn | 1,000 × 1,000 | Ẹgbẹ̀rǔn l ẹ́gbẹ̀rǔn |
| 7,000,000 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléje | 1,000,000 × 7 | Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔn l éje |
📊 THE SCROLL BOOKS BY THE NUMBERS 📊
10
Scroll Books
200
Total Volumes
10,000,000
Unique Number Names
6
Colour Magnitudes
0
External Dependencies
1
Recursive Algorithm
From Ení (1) to Ẹgbẹ̀rǔnlẹ́gbẹ̀rǔnléwǎ (10,000,000) — every number generated in real-time, colour-coded, and ready to learn.